#!usrbinpython


#Map Sprite Info
import pygame
import render_engine.RenderEngine


VERTICAL_WALL_RIGHT = "1"
VERTICAL_WALL_LEFT = "2" 
HORIZONTAL_WALL_TOP = "3"
HORIZONTAL_WALL_BOTTOM = "4"
CORNER_TOP_RIGHT="5"
CORNER_TOP_LEFT="6"
CORNER_BOTTOM_RIGHT="7"
CORNER_BOTTOM_LEFT="8"
CORNER_PIECE_TOP_RIGHT="9"
CORNER_PIECE_TOP_LEFT="a"
CORNER_PIECE_BOTTOM_RIGHT="b"
CORNER_PIECE_BOTTOM_LEFT="c"
STANDARD_TILE=""


tileMap = {}
tileMap["1"] = {"CORDS":(0,100),"SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["2"] = {"CORDS":(100,100), "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["3"] = {"CORDS":(150,100), "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["4"] = {"CORDS":(50,100) , "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["5"] = {"CORDS":(200,50) , "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["6"] = {"CORDS":(150,50) , "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["7"] = {"CORDS":(50,50) , "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["8"] = {"CORDS":(100,50) , "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["9"] = {"CORDS":(0,50) , "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["a"] = {"CORDS":(200,0) , "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["b"] = {"CORDS":(100,0) , "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["c"] = {"CORDS":(150,0) , "SURFACE":pygame.Surface((50,50)),"WALKABLE":False,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["blank"] = {"CORDS":(0,0), "SURFACE":pygame.Surface((50,50)),"WALKABLE":True,"FILE":"temp/wallTiles.png","DEMENSIONS":(50,50),"BACKTILE":0}
tileMap["spawner"] = {
                      "CORDS":(224,34),
                      "SURFACE":pygame.Surface((33,31)),
                      "WALKABLE":True,
                      "FILE":"temp/TileD.png",
                      "DEMENSIONS":(33,31),
                      "SIZE" : (1,1),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.SpawnerEntity.SpawnerEntity",
                                 "NAME" : "BobSpawner",
                                 "SIZE" : (1,1),
                                 "ANIMATION" : None,
                                 "IMAGE" : "spawner",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_BG_ENTITY,
                                 "ATTR" : {}
                                }
                                  
                     }
tileMap["door"] = {
                   "CORDS":(480,162),
                   "SURFACE":pygame.Surface((32,30)),
                   "WALKABLE":True,
                   "FILE":"temp/TileB.png",
                   "DEMENSIONS":(32,30),
                   "SIZE" : (2,2),
                   "BACKTILE":1,
                   "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.DoorEntity.DoorEntity",
                                 "NAME" : "Door",
                                 "SIZE" : (2,2),
                                 "ANIMATION" : None,
                                 "IMAGE" : "door",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_BG_ENTITY,
                                 "ATTR" : {"m_Up":True}
                             }
                  }

tileMap["doorDown"] = {
                   "CORDS":(128,96),
                   "SURFACE":pygame.Surface((32,32)),
                   "WALKABLE":True,
                   "FILE":"temp/TileC.png",
                   "DEMENSIONS":(32,30),
                   "SIZE" : (2,1),
                   "BACKTILE":1,
                   "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.DoorEntity.DoorEntity",
                                 "NAME" : "DoorDown",
                                 "SIZE" : (2,1),
                                 "ANIMATION" : None,
                                 "IMAGE" : "doorDown",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_BG_ENTITY,
                                 "ATTR" : {"m_Up":False}
                             }
                  }
tileMap["start"] = {
                      "CORDS":(256,323),
                      "SURFACE":pygame.Surface((95,89)),
                      "WALKABLE":True,
                      "FILE":"temp/TileD.png",
                      "DEMENSIONS":(95,89),
                      "SIZE" : (2,2),
                      "BACKTILE":1,
                      "START" : {},
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.StarterEntity.StarterEntity",
                                 "NAME" : "StartingSpot",
                                 "SIZE" : (2,2),
                                 "ANIMATION" : None,
                                 "IMAGE" : "start",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_BG_ENTITY,
                                 "ATTR" : { "m_collidable": False }
                                }
                                  
                     }
tileMap["bluepot"] = {
                      "CORDS":(0,0),
                      "SURFACE":pygame.Surface((48,48)),
                      "WALKABLE":True,
                      "FILE":"data.BluePotion",
                      "DEMENSIONS":(48,48),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.GrowEntity.GrowEntity",
                                 "NAME" : "Growth Potion",
                                 "SIZE" : (1,1),
                                 "ANIMATION" : None,
                                 "IMAGE" : "bluepot",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_CHARACTER,
                                 "ATTR" : { 
                                            "m_sizeChange": 2,
                                            "m_durationms": 15000,
                                            "m_useImmediately" : False
                                          }
                                }
                                  
                     }
tileMap["purplepot"] = {
                      "CORDS":(0,0),
                      "SURFACE":pygame.Surface((48,48)),
                      "WALKABLE":True,
                      "FILE":"data.PurplePotion",
                      "DEMENSIONS":(48,48),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.GrowEntity.GrowEntity",
                                 "NAME" : "Shrink Potion",
                                 "SIZE" : (1,1),
                                 "ANIMATION" : None,
                                 "IMAGE" : "purplepot",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_CHARACTER,
                                 "ATTR" : { 
                                            "m_sizeChange": -2,
                                            "m_durationms": 15000,
                                            "m_useImmediately" : False
                                          }
                                }
                                  
                     }
tileMap["arch_base"] = {
                      "CORDS":(415,225),
                      "SURFACE":pygame.Surface((33,33)),
                      "WALKABLE":False,
                      "FILE":"temp/TileD.png",
                      "DEMENSIONS":(33,33),
                      "SIZE" : (2,2),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.Entity.Entity",
                                 "NAME" : "ArchBase",
                                 "SIZE" : (2,2),
                                 "ANIMATION" : None,
                                 "IMAGE" : "arch_base",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_BG_ENTITY,
                                 "ATTR" : { "m_collidable": True}
                                }
                                  
                     }
tileMap["arch_side"] = {
                      "CORDS":(415,192),
                      "SURFACE":pygame.Surface((33,33)),
                      "WALKABLE":True,
                      "FILE":"temp/TileD.png",
                      "DEMENSIONS":(33,33),
                      "SIZE" : (2,2),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.Entity.Entity",
                                 "NAME" : "ArchSide",
                                 "SIZE" : (2,2),
                                 "ANIMATION" : None,
                                 "IMAGE" : "arch_side",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_FG_ENTITY,
                                 "ATTR" : { "m_collidable": False}
                                }
                                  
                     }
tileMap["arch_corner_l"] = {
                      "CORDS":(415,159),
                      "SURFACE":pygame.Surface((33,33)),
                      "WALKABLE":True,
                      "FILE":"temp/TileD.png",
                      "DEMENSIONS":(33,33),
                      "SIZE" : (2,2),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.Entity.Entity",
                                 "NAME" : "ArchCornerL",
                                 "SIZE" : (2,2),
                                 "ANIMATION" : None,
                                 "IMAGE" : "arch_corner_l",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_FG_ENTITY,
                                 "ATTR" : { "m_collidable": False}
                                }
                                  
                     }
tileMap["arch_corner_r"] = {
                      "CORDS":(481,159),
                      "SURFACE":pygame.Surface((31,33)),
                      "WALKABLE":True,
                      "FILE":"temp/TileD.png",
                      "DEMENSIONS":(31,33),
                      "SIZE" : (2,2),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.Entity.Entity",
                                 "NAME" : "ArchCornerR",
                                 "SIZE" : (2,2),
                                 "ANIMATION" : None,
                                 "IMAGE" : "arch_corner_r",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_FG_ENTITY,
                                 "ATTR" : { "m_collidable": False}
                                }
                                  
                     }
tileMap["arch_top"] = {
                      "CORDS":(448,159),
                      "SURFACE":pygame.Surface((33,33)),
                      "WALKABLE":True,
                      "FILE":"temp/TileD.png",
                      "DEMENSIONS":(33,33),
                      "SIZE" : (2,2),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.Entity.Entity",
                                 "NAME" : "ArchTop",
                                 "SIZE" : (2,2),
                                 "ANIMATION" : None,
                                 "IMAGE" : "arch_top",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_FG_ENTITY,
                                 "ATTR" : { "m_collidable": False}
                                }
                                  
                     }
tileMap["princess"] = {
                      "CORDS":(3,50),
                      "SURFACE":pygame.Surface((92,92)),
                      "WALKABLE":True,
                      "FILE":"planetcute/Character Princess Girl.png",
                      "DEMENSIONS":(92,92),
                      "SIZE" : (2,2),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.FollowMonster.FollowMonster",
                                 "NAME" : "Princess",
                                 "SIZE" : (2,2),
                                 "ANIMATION" : None,
                                 "IMAGE" : "princess",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_CHARACTER,
                                 "ATTR" : { "m_collidable": True}
                                }
                                  
                     }

tileMap["Exit"] = {
                      "CORDS":(160,73),
                      "SURFACE":pygame.Surface((33,74)),
                      "WALKABLE":True,
                      "FILE":"temp/TileC.png",
                      "DEMENSIONS":(33,74),
                      "SIZE" : (2,2),
                      "BACKTILE":1,
                      "ENTITY": {
                                 "CLASS" : "game_engine.entity_manager.ExitEntity.ExitEntity",
                                 "NAME" : "Exit",
                                 "SIZE" : (2,2),
                                 "ANIMATION" : None,
                                 "IMAGE" : "Exit",
                                 "RENDER" : render_engine.RenderEngine.RENDER_OBJ_BG_ENTITY,
                                 "ATTR" : { "m_End": True}
                                 
                                }
                                  
                     }
